sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
QUOTE11(first2(X, Z)) -> FIRST12(X, Z)
UNQUOTE11(cons12(X, Z)) -> FCONS2(unquote1(X), unquote11(Z))
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
UNQUOTE1(s11(X)) -> UNQUOTE1(X)
FIRST2(s1(X), cons2(Y, Z)) -> FIRST2(X, Z)
FIRST12(s1(X), cons2(Y, Z)) -> QUOTE1(Y)
FROM1(X) -> FROM1(s1(X))
QUOTE11(cons2(X, Z)) -> QUOTE1(X)
QUOTE1(s1(X)) -> QUOTE1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
QUOTE11(cons2(X, Z)) -> QUOTE11(Z)
FIRST12(s1(X), cons2(Y, Z)) -> FIRST12(X, Z)
UNQUOTE11(cons12(X, Z)) -> UNQUOTE11(Z)
UNQUOTE11(cons12(X, Z)) -> UNQUOTE1(X)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
QUOTE11(first2(X, Z)) -> FIRST12(X, Z)
UNQUOTE11(cons12(X, Z)) -> FCONS2(unquote1(X), unquote11(Z))
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
UNQUOTE1(s11(X)) -> UNQUOTE1(X)
FIRST2(s1(X), cons2(Y, Z)) -> FIRST2(X, Z)
FIRST12(s1(X), cons2(Y, Z)) -> QUOTE1(Y)
FROM1(X) -> FROM1(s1(X))
QUOTE11(cons2(X, Z)) -> QUOTE1(X)
QUOTE1(s1(X)) -> QUOTE1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
QUOTE11(cons2(X, Z)) -> QUOTE11(Z)
FIRST12(s1(X), cons2(Y, Z)) -> FIRST12(X, Z)
UNQUOTE11(cons12(X, Z)) -> UNQUOTE11(Z)
UNQUOTE11(cons12(X, Z)) -> UNQUOTE1(X)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
UNQUOTE1(s11(X)) -> UNQUOTE1(X)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
UNQUOTE1(s11(X)) -> UNQUOTE1(X)
POL( s11(x1) ) = x1 + 1
POL( UNQUOTE1(x1) ) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
UNQUOTE11(cons12(X, Z)) -> UNQUOTE11(Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
UNQUOTE11(cons12(X, Z)) -> UNQUOTE11(Z)
POL( UNQUOTE11(x1) ) = x1
POL( cons12(x1, x2) ) = x2 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
QUOTE1(s1(X)) -> QUOTE1(X)
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
Used ordering: Polynomial Order [17,21] with Interpretation:
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
QUOTE1(s1(X)) -> QUOTE1(X)
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
POL( sel2(x1, x2) ) = x1 + x2 + 1
POL( SEL12(x1, x2) ) = x1 + x2
POL( s1(x1) ) = x1 + 1
POL( 0 ) = 0
POL( cons2(x1, x2) ) = x1 + x2
POL( QUOTE1(x1) ) = max{0, x1 - 1}
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
QUOTE1(s1(X)) -> QUOTE1(X)
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOTE1(sel2(X, Z)) -> SEL12(X, Z)
QUOTE1(s1(X)) -> QUOTE1(X)
Used ordering: Polynomial Order [17,21] with Interpretation:
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
POL( sel2(x1, x2) ) = x1 + x2 + 1
POL( SEL12(x1, x2) ) = max{0, x2 - 1}
POL( s1(x1) ) = x1 + 1
POL( 0 ) = 1
POL( cons2(x1, x2) ) = x1 + x2 + 1
POL( QUOTE1(x1) ) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
SEL12(0, cons2(X, Z)) -> QUOTE1(X)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FIRST12(s1(X), cons2(Y, Z)) -> FIRST12(X, Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FIRST12(s1(X), cons2(Y, Z)) -> FIRST12(X, Z)
POL( FIRST12(x1, x2) ) = x1
POL( cons2(x1, x2) ) = max{0, -1}
POL( s1(x1) ) = x1 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
QUOTE11(cons2(X, Z)) -> QUOTE11(Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOTE11(cons2(X, Z)) -> QUOTE11(Z)
POL( cons2(x1, x2) ) = x2 + 1
POL( QUOTE11(x1) ) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FROM1(X) -> FROM1(s1(X))
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
FIRST2(s1(X), cons2(Y, Z)) -> FIRST2(X, Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FIRST2(s1(X), cons2(Y, Z)) -> FIRST2(X, Z)
POL( FIRST2(x1, x2) ) = x1
POL( cons2(x1, x2) ) = max{0, -1}
POL( s1(x1) ) = x1 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
POL( cons2(x1, x2) ) = max{0, -1}
POL( s1(x1) ) = x1 + 1
POL( SEL2(x1, x2) ) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
sel2(0, cons2(X, Z)) -> X
first2(0, Z) -> nil
first2(s1(X), cons2(Y, Z)) -> cons2(Y, first2(X, Z))
from1(X) -> cons2(X, from1(s1(X)))
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
sel12(0, cons2(X, Z)) -> quote1(X)
first12(0, Z) -> nil1
first12(s1(X), cons2(Y, Z)) -> cons12(quote1(Y), first12(X, Z))
quote1(0) -> 01
quote11(cons2(X, Z)) -> cons12(quote1(X), quote11(Z))
quote11(nil) -> nil1
quote1(s1(X)) -> s11(quote1(X))
quote1(sel2(X, Z)) -> sel12(X, Z)
quote11(first2(X, Z)) -> first12(X, Z)
unquote1(01) -> 0
unquote1(s11(X)) -> s1(unquote1(X))
unquote11(nil1) -> nil
unquote11(cons12(X, Z)) -> fcons2(unquote1(X), unquote11(Z))
fcons2(X, Z) -> cons2(X, Z)